import { createRouter, createWebHistory } from 'vue-router'
import {useKuYiStore} from '@/stores'

const router = createRouter({
  // import.meta.env.BASE_URL配置项 就是 vite.config中的base配置项
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {path:'/login',component:()=>import('@/views/login/LoginPage.vue')}, //登录页
    {
      // 默认访问首页 路由懒加载
      path:'/',component:()=>import('@/views/layout/LayoutContainer.vue'),
      // 重定向
      redirect:'/article/louyu',
      children:[
        {
          path:'/article/manage',
          component:()=>import('@/views/article/ArticleManage.vue')
        },
        {
          // 楼宇管理
          path:'/article/louyu',
          component:()=>import('@/views/article/louyuguanli.vue'),
          meta: { title: '楼宇管理' }
        },
        {
          // 单元管理
          path:'/article/danyuan',
          component:()=>import('@/views/article/danyuan.vue'),
          meta: { title: '单元管理' }
        },
        {
          // 房屋管理
          path:'/article/fangwu',
          component:()=>import('@/views/article/fangwu.vue'),
          meta: { title: '房屋管理' }
        },
        {
          // 车牌管理
          path:'/article/chepai',
          component:()=>import('@/views/article/chepai.vue'),
          meta: { title: '车牌管理' }
        },
        {
          // 统计
          path:'/article/tongji',
          component:()=>import('@/views/article/tongji.vue'),
          meta: { title: '统计' }
        },
        {
          // 短租房管理
          path:'/article/duanzhu',
          component:()=>import('@/views/article/duanzhufang.vue'),
          meta: { title: '短租房管理' }
        },
        {
          // 短租房列表
          path:'/article/duanzhulist',
          component:()=>import('@/views/article/duanzhulist.vue'),
          meta: { title: '短租房列表' }
        },
        // 宾馆管理
        {
           path:'/article/binguan',
           component:()=>import('@/views/article/BinGuan.vue'),
           meta: { title: '宾馆管理' }
        },
        // 用户管理
        {
          path:'/article/yonghu',
          component:()=>import('@/views/article/UserGuanLi.vue'),
          meta: { title: '用户管理' }
        },
        {
          path:'/article/channel',
          component:()=>import('@/views/article/ArticleChannel.vue')
        },
        {
          path:'/user/profile',
          component:()=>import('@/views/user/UserProfile.vue')
        },
        {
          path:'/user/avatar',
          component:()=>import('@/views/user/UserAvatar.vue')
        },
        {
          path:'/user/password',
          component:()=>import('@/views/user/UserPassword.vue')
        },
      ]
    }
  ]
})

// 登陆访问拦截 默认是直接放行的
// 根据返回值决定是放行还是拦截
// 返回值
// 1，undefined / true 直接放行 
// 2，false 拦截返回到from 的地址页面
// 3，具体的路径或者路径对象 就会拦截到对应的地址
// 返回router.go(-3)三个页面
// '/login' {name:'login'}
router.beforeEach((to,from)=>{
  const userStore = useKuYiStore() 
  // 如果没有token 且访问的不是login页面 就拦截到登录页面 ，其他情况正常放行
  if(!userStore.authToken && to.path !== '/login') return '/login'

  // 其他情况就放行
  return true
})

export default router
